package com.fight.strive.sys.modules.rbac.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fight.strive.sys.modules.common.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Table;

/**
 * 用户表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Entity
@Table(name = "t_sys_rbac_user",
        indexes = {
                @Index(columnList = "mobile"),
                @Index(columnList = "status"),
                @Index(columnList = "seq")})
@TableName("t_sys_rbac_user")
public class RbacUserEntity extends BaseEntity {

    /**
     * 登录名，账号
     */
    @Column(unique = true)
    private String loginName;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    private String realName;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 性别，0：未定义，1：男，2：女
     */
    private Integer gender;

    /**
     * 职位
     */
    private String position;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 座机
     */
    private String telephone;

    /**
     * 用户编号
     */
    private String userCode;

    /**
     * 身份证号
     */
    private String idCode;

    /**
     * 电子邮件
     */
    private String email;

    /**
     * 居住地址
     */
    private String address;

    /**
     * 图像
     */
    private String avatar;

    /**
     * 标记：0：用户管理平台创建；1：用户注册自动生成；2：同步自企业微信息；
     */
    private Integer flag;

    /**
     * 用户状态：0：未激活；1：已激活；2：已锁定；3：已禁用
     * 未激活：表示用户创建后未登录过系统；
     * 已激活：表示用户创建后已登录过系统；
     * 已锁定：表示用户由于某种原因（如密码输入超过五次），禁止登录；
     * 已禁用：禁止该用户登录系统；
     */
    private Integer status;

    /**
     * 排序序号
     */
    private Double seq;
}
